#pragma once
#include "NeroCore\NObject.h"

namespace Engine
{
	class NPlatform;
}

namespace Engine
{
class NDevice : public Core::NObject
{
	RTTI_DECLARATIONS(NDevice, Core::NObject)
public:
	NDevice(Engine::NPlatform* owner);
	
	virtual ~NDevice(void);

	virtual void Initialize(){}

	virtual void Deinitialize(){}

	virtual void BeginRender(){}

	virtual void EndRender(){}

	static void* sMutex; 

protected:
	NPlatform* mOwner;
};
}